let s : string = "abc";
let n : number = 42;
let b : bigint = 42n;
let t : boolean = true;
let ss : string = s || s;
let sn : string | number = s || n;
let sb : string | bigint = s || b;
let st : string | boolean = s || t;
let ns : number | string = n || s;
let bs : bigint | string = b || s;
let ts : boolean | string = t || s;
let sss : string = s || s || s;
let sns : string | number = s || n || s;
let sbs : string | bigint = s || b || s;
let sts : string | boolean = s || t || s;
let ssn : string | number = s || s || n;
let snn : string | number = s || n || n;
let sbn : string | bigint | number = s || b || n;
let stn : string | boolean | number = s || t || n;
let ssb : string | bigint = s || s || b;
let snb : string | number | bigint = s || n || b;
let sbb : string | bigint = s || b || b;
let stb : string | boolean | bigint = s || t || b;
let sst : string | boolean = s || s || t;
let snt : string | number | boolean = s || n || t;
let sbt : string | bigint | boolean = s || b || t;
let stt : string | boolean = s || t || t;
let siss : string = ss || s;
let sins : string | number = sn || s;
let sibs : string | bigint = sb || s;
let sits : string | boolean = st || s;
let sisn : string | number = ss || n;
let sinn : string | number = sn || n;
let sibn : string | bigint | number = sb || n;
let sitn : string | boolean | number = st || n;
let sisb : string | bigint = ss || b;
let sinb : string | number | bigint = sn || b;
let sibb : string | bigint = sb || b;
let sitb : string | boolean | bigint = st || b;
let sist : string | boolean = ss || t;
let sint : string | number | boolean = sn || t;
let sibt : string | bigint | boolean = sb || t;
let sitt : string | boolean = st || t;
